package com.ruoyi.production.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.production.domain.ProductionPlanDetail;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class ProductionAndSaleVo {
    /** id */
    private Long id;

    /** 销售订单id */
    @Excel(name = "销售订单id")
    private Long saleId;

    /** 销售订单编号 */
    @Excel(name = "销售订单编号")
    private String saleOrderNo;

    /** 销售订单状态 */
    @Excel(name = "销售订单状态")
    private Long saleOrderStatus;

    /** 销售订单客户 */
    @Excel(name = "客户公司")
    private String customerName;

    /** 销售订单客户 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "销售订单下单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    /** 计划名称 */
    @Excel(name = "计划名称")
    private String planName;

    /** 计划描述 */
    @Excel(name = "计划描述")
    private String planDescribe;

    /** 计划负责人id */
    @Excel(name = "计划负责人id")
    private Long userId;

    /** 计划负责人 */
    @Excel(name = "计划负责人")
    private String  userName;

    /** 计划编号 */
    @Excel(name = "计划编号")
    private String planNo;

    /** 状态 0待计划，1已计划，2待生产，3生产中，4已完结 */
    @Excel(name = "状态")
    private Long planStatus;

    /** 项目实际创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目实际创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 项目预期开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目预期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planStartTime;

    /** 项目预期结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目预期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planEndTime;

    /** 项目实际结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目实际结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    List<ProductionPlanDetail> productionPlanDetails;
}
